package cc.linker.steplink.crm.merchant.dao;

import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface EnrollDao {

    boolean addEnroll(Map<String, Object> param);

    boolean updateEnroll(Map<String, Object> param);

    void saveOption(Map<String, Object> da);

    void saveAttribute(Map<String, Object> da);

    void delOption(String enrollId);

    void delAttribute(String enrollId);

    Map<String,Object> getInfo(Map<String, String> param);

    List<Map<String,Object>> getOption(String enrollId);

    List<Map<String,Object>> getAttribute(String enrollId);

    List<Map<String, Object>> getList(Map<String, Object> map);

    Integer unlimited(String enrollId);

    Integer getRealNum(String enrollId);

    Integer getSetNum(String enrollId);

    void delEnroll(@Param(value = "enrollId") String enrollId, @Param(value = "customerId") String customerId);

    List<Map<String, Object>> listMyEnrollByCustomerId(Map<String, Object> param);

    void setEnrollPromotion(Map<String, Object> param);

    List<Map<String, Object>> recordList(Map<String, Object> map);

    Integer getOptionNum(String optionId);

    Integer getRecordByEnrollId(String enrollId);

    void changeEnrollStatus(@Param(value = "enrollId") String enrollId,@Param(value = "customerId") String customerId);

    Long getMinprice(String enrollId);

    List<Map<String, Object>> getAttrList(Map<String, Object> map);

    void changeToShare(Map<String, String> param);

    List<Map<String, Object>> getShareList(Map<String, String> param);

    List<Map<String, Object>> allianceShareList(Map<String, Object> param);

    void banned(Map<String, String> param);

    void delEnrollLabels(String enrollId);

    void updateEnrollLabels(@Param("enrollId") String enrollId,@Param("split") String[] split);

    List<Map<String, Object>> getEnrollLabelsById(String enrollId);

    List<Map<String, Object>> getEnrollList(Map<String, Object> map);

    List<String> getattrIdsByPicture();

    List<Map> getRecordByAttrId(@Param("attrId") String attrId);

    void updateEnrollRecord(Map map);

    void saveSharing(Map<String, Object> param);
}
